﻿$(document).ready(function () {
    setupCalendar();

    $('select[id=nrDiaCheckin][busca=hotel]').change(function () {
        if ($(this).val() != "" && $('select[id=nrMesCheckin][busca=hotel]').val() != "") {
            $('#ipt_dtcheckin').val($(this).val() + '/' + $('select[id=nrMesCheckin][busca=hotel]').val());
            setDateHosp($('#ipt_dtcheckin').val(), null);
            $('#ipt_dtcheckout').datepicker("option", "minDate", $('#ipt_dtcheckin').val());
        }
    });

    $('select[id=nrMesCheckin][busca=hotel]').change(function () {
        if ($('select[id=nrDiaCheckin][busca=hotel]').val() != "" && $(this).val() != "") {
            $('#ipt_dtcheckin').val($('select[id=nrDiaCheckin][busca=hotel]').val() + '/' + $(this).val());
            setDateHosp($('#ipt_dtcheckin').val(), null);
            $('#ipt_dtcheckout').datepicker("option", "minDate", $('#ipt_dtcheckin').val());
        }
    });

    $('select[id=nrDiaCheckout][busca=hotel]').change(function () {
        if ($(this).val() != "" && $('select[id=nrMesCheckout][busca=hotel]').val() != "") {
            $('#ipt_dtcheckout').val($(this).val() + '/' + $('select[id=nrMesCheckout][busca=hotel]').val());
            $('#ipt_dtcheckin').datepicker("option", "maxDate", $('#ipt_dtcheckout').val());
        }
    });

    $('select[id=nrMesCheckout][busca=hotel]').change(function () {
        if ($('select[id=nrDiaCheckout][busca=hotel]').val() != "" && $(this).val() != "") {
            $('#ipt_dtcheckout').val($('select[id=nrDiaCheckout][busca=hotel]').val() + '/' + $(this).val());
            $('#ipt_dtcheckin').datepicker("option", "maxDate", $('#ipt_dtcheckout').val());
        }
    });
});

function setupCalendar() {
    $('#ipt_dtcheckin').datepicker({
        defaultDate: "+1w",
        minDate: 0,
        changeMonth: true,
        numberOfMonths: 3,
        onSelect: setDateHosp
    });

    if ($('#ipt_dtcheckout').val() != "") {
        $('#ipt_dtcheckin').datepicker("option", "maxDate", $('#ipt_dtcheckout').val());
    }
    if ($('#ipt_dtcheckin').val() != "") {
        $('#ipt_dtcheckout').datepicker("option", "minDate", $('#ipt_dtcheckin').val());
    }

    $('#clr_checkin').click(function () {
        $('#ipt_dtcheckin').datepicker('show');
    });


    $('#ipt_dtcheckout').datepicker({
        defaultDate: "+1w",
        minDate: 0,
        changeMonth: true,
        numberOfMonths: 3,
        onSelect: function (dateText, inst) {
            var dt = dateText.split('/');
            var n = parseInt(dt[0], 32);
            $('select[id=nrDiaCheckout][busca=hotel]').val(n.toString(32));
            $('select[id=nrMesCheckout][busca=hotel]').val(dt[1] + '/' + dt[2]);

            date = $.datepicker.parseDate(inst.settings.dateFormat || $.datepicker._defaults.dateFormat, dateText, inst.settings);
            $('#ipt_dtcheckin').datepicker("option", "maxDate", date);
        }
    });
    $('#clr_checkout').click(function () {
        $('#ipt_dtcheckout').datepicker('show');
    });


}

function setDateHosp(dateText, inst) {
    var dt = dateText.split('/');
    var n = parseInt(dt[0], 32);
          
    $('select[id=nrDiaCheckin][busca=hotel]').val(n.toString(32));
    $('select[id=nrMesCheckin][busca=hotel]').val(dt[1] + '/' + dt[2]);

    var d = new Date((dt[2] + "-" + dt[1] + "-" + dt[0]).replace(/-/g, "/"));
    d.setDate(d.getDate() + 1);
    $('select[id=nrDiaCheckout][busca=hotel]').val(d.getDate());
    var strMes = (d.getMonth() + 1).toString(32);

    if (strMes.length == 1)
        strMes = "0" + strMes;

    $('select[id=nrMesCheckout][busca=hotel]').val(strMes + '/' + d.getFullYear().toString());
    $('#ipt_dtcheckout').val(d.getDate().toString() + '/' + strMes + '/' + d.getFullYear().toString());

    $('#ipt_dtcheckout').datepicker("option", "minDate", dateText);
}